Analisi Fianziaria di Criptovalute¶

0] Analisi del Mercato¶

0.1] Cosa si intende per liquidità in un mercato finanziario?¶

La liquidità di un mercato finanziario si riferisce alla facilità con cui gli investitori possono comprare o vendere titoli finanziari (come azioni, obbligazioni, valute, ecc.) senza causare significative fluttuazioni nei prezzi di mercato. In altre parole, un mercato finanziario è considerato liquido quando gli investitori possono effettuare transazioni con relativa rapidità ed efficienza, con costi di transazione minimi e senza causare impatti significativi sui prezzi degli strumenti finanziari.

Un mercato finanziario altamente liquido è caratterizzato da una maggiore attività di scambio di titoli, un elevato numero di partecipanti, un elevato volume di scambi giornalieri e una stretta differenza tra i prezzi di acquisto (offerta) e i prezzi di vendita (domanda), noti come spread. Al contrario, in un mercato finanziario con scarsa liquidità, può essere difficile acquistare o vendere titoli e ciò può comportare costi di transazione più elevati e prezzi più volatili.

La liquidità è un importante fattore da considerare quando si decide di investire in un mercato finanziario. I mercati altamente liquidi sono generalmente considerati meno rischiosi, poiché gli investitori possono entrare o uscire facilmente dalle posizioni. D'altra parte, i mercati con bassa liquidità possono comportare maggiori rischi e sfide per gli investitori, poiché potrebbe essere difficile convertire i propri investimenti in denaro contante senza influire in modo significativo sui prezzi del mercato.

0.2] Come funziona l'entrata e l'uscita dal mercato delle criptovalute¶

  1. Acquisto di criptovalute:

    • Per entrare nel mercato delle criptovalute, bisogna prima acquistare delle criptovalute. Per farlo si passa attraverso piattaforme di scambio (exchange) specializzate, come Binance, Coinbase o Kraken. Queste piattaforme consentono di acquistare criptovalute usando denaro fiat (come dollari o euro) o altre criptovalute.
    • Quindi si crea un account su una di queste piattaforme, si completa il processo di verifica dell'identità (KYC) e collegare il proprio conto bancario o utilizzare altri metodi di pagamento accettati.
    • Dopo aver finanziato il proprio account, si possono acquistare criptovalute scegliendo tra una vasta gamma di opzioni.
  2. Conservazione delle criptovalute:

    • Dopo aver acquistato criptovalute, è importante conservarle in modo sicuro. Questo può essere fatto utilizzando portafogli digitali, che possono essere portafogli online (hot wallet) o portafogli offline (cold wallet). I portafogli offline sono generalmente considerati più sicuri perché non sono esposti a potenziali rischi online.
  3. Negoziazione:

    • Una volta che si hanno criptovalute nel proprio portafoglio, si può iniziare a negoziarle sulle piattaforme di scambio. Si possono comprare o vendere criptovalute in base alle tue preferenze e alle condizioni di mercato.
    • A differenza dei mercati tradizionali, i mercati delle criptovalute sono attivi 24/7, quindi si può negoziare in qualsiasi momento, anche durante i fine settimana e le festività.
  4. Uscita dal mercato:

    • Per uscire dal mercato delle criptovalute, si possono vendere le proprie criptovalute su una piattaforma di scambio e convertirle in denaro fiat o altre criptovalute.
    • Dopo la vendita, si possono prelevare i fondi sul tuo conto bancario o utilizzare altre opzioni di prelievo offerte dalla piattaforma di scambio.

0.3] Liquidità del Mercato Crypto¶

Per quanto riguarda la liquidità del mercato delle criptovalute, essa può variare notevolmente da una criptovaluta all'altra e da un momento all'altro.

Le criptovalute più popolari come Bitcoin ed Ethereum tendono ad avere mercati più liquidi, con un alto volume di scambi giornalieri. Tuttavia, le criptovalute meno conosciute o di nicchia possono avere mercati meno liquidi, il che significa che potrebbe essere più difficile acquistare o vendere grandi quantità senza influire significativamente sui prezzi.

In generale, il mercato delle criptovalute è noto per la sua volatilità, il che può comportare fluttuazioni dei prezzi molto rapide e ampie.

1] Estrazione dei Dati¶

I dati sono stati estratti dal sito Yahoo Finance usando delle REST API. I dati sono stati scaricati per quattro criptovalute:

  • Ethereum
  • Bitcoin
  • Dash
  • XRP

I dati sono stati scaricati per l'intervallo temporale tra 2018-01-01 e 2023-09-01

Per tenere conto dell'inflazione degli ultimi anni consideriamo una correzione sui prezzi fatta usando il Consumer Price Index (CPI), ottenuto estraendo i dati dal sito della FRED. I dati estratti da quest'ultimo sito sono mensili, mentre i dati scaricati per le criptovalute sono periodici. Per rendere i dati omogenei procediamo facendo un'interpolazione lineare del CPI, ottenendo il dato per ogni giorno.

<Figure size 640x480 with 0 Axes>
Date CPI Infation
0 2018-01-01 248.859000 0.013664
1 2018-01-02 248.880613 0.008685
2 2018-01-03 248.902226 0.008684
3 2018-01-04 248.923839 0.008683
4 2018-01-05 248.945452 0.008683
... ... ... ...
2065 2023-08-28 307.324613 0.012723
2066 2023-08-29 307.363710 0.012722
2067 2023-08-30 307.402806 0.012720
2068 2023-08-31 307.441903 0.012718
2069 2023-09-01 307.481000 0.012717

2070 rows × 3 columns

Date Open High Low Close Adj Close Volume NormalizedClose
0 2018-01-01 755.757019 782.530029 742.004028 772.640991 772.640991 2595760128 762.083453
1 2018-01-02 772.346008 914.830017 772.346008 884.443970 884.443970 5783349760 876.762752
2 2018-01-03 886.000000 974.471008 868.450989 962.719971 962.719971 5093159936 954.359668
3 2018-01-04 961.713013 1045.079956 946.085999 980.921997 980.921997 6502859776 972.404366
4 2018-01-05 975.750000 1075.390015 956.325012 997.719971 997.719971 6683149824 989.057231
... ... ... ... ... ... ... ... ...
2065 2023-08-28 1657.439819 1659.328735 1627.446777 1652.457397 1652.457397 4855588534 1631.432731
2066 2023-08-29 1652.274170 1742.637329 1639.576172 1729.725708 1729.725708 11304916729 1707.720736
2067 2023-08-30 1729.676636 1730.564697 1697.147217 1705.112183 1705.112183 5023904190 1683.423095
2068 2023-08-31 1705.364502 1720.011963 1634.850952 1645.639160 1645.639160 6593153505 1624.709233
2069 2023-09-01 1645.581299 1653.531738 1603.034180 1628.491211 1628.491211 6104510092 1607.782013

2070 rows × 8 columns

2] Analisi del Dataset¶

2.1] Passaggio al Logaritmo¶

Per avere una maggiore stabilità dei valori numerici, passiamo allo studio del logaritmo dei prezzi di chiusura considerandolo come proxy dello studio condotto sui valori originali.

Date Open High Low Close Adj Close Volume NormalizedClose LogClosePrice
0 2018-01-01 14112.200195 14112.200195 13154.700195 13657.200195 13657.200195 10291200000 13470.585182 4.129386
1 2018-01-02 13625.000000 15444.599609 13163.599609 14982.099609 14982.099609 16846600192 14851.983090 4.171784
2 2018-01-03 14978.200195 15572.799805 14844.500000 15201.000000 15201.000000 16871900160 15068.993839 4.178084
3 2018-01-04 15270.700195 15739.700195 14522.200195 15599.200195 15599.200195 21783199744 15463.747809 4.189315
4 2018-01-05 15477.200195 17705.199219 15202.799805 17429.500000 17429.500000 23840899072 17278.167730 4.237498
... ... ... ... ... ... ... ... ... ...
2065 2023-08-28 26089.615234 26198.578125 25880.599609 26106.150391 26106.150391 11002805166 25773.994720 4.411182
2066 2023-08-29 26102.486328 28089.337891 25912.628906 27727.392578 27727.392578 29368391712 27374.654281 4.437349
2067 2023-08-30 27726.083984 27760.160156 27069.207031 27297.265625 27297.265625 16343655235 26950.043426 4.430559
2068 2023-08-31 27301.929688 27456.078125 25752.929688 25931.472656 25931.472656 20181001451 25601.665345 4.408268
2069 2023-09-01 25934.021484 26125.869141 25362.609375 25800.724609 25800.724609 17202862221 25472.621935 4.406074

2070 rows × 9 columns

<Figure size 640x480 with 0 Axes>

Tracciamo gli autocorrelogrammi e gli autocorrelogrammi parziali delle serie dei prezzi logaritmici. Ricordiamo che:

  • Gli autocorrelogrammi rappresantono l'influenza del punto $X_0$ al tempo $X_t$ tenendo conto dei tempi $i$ dove $\forall i=1,...,t-1$
  • Gli autocorrelogrammi parziali rappresantono l'influenza del punto $X_0$ al tempo $X_t$ NON tenendo conto dei tempi $i$ dove $\forall i=1,...,t-1$

Come si vede dai grafici:

  • Negli autocorelogrammi abbiamo un andamento che tende a scemare nel tempo e questo è dovuto al fatto che l'influenza del punto $X_0$ è sempre più debole con il tempo
  • Negli autocorelogrammi parziali abbiamo un picco sul primo punto $X_1$, segno del fatto che l'influenza del punto precedente su quello successivo è alta, ma un'influenza più debole sui punti successivi
<Figure size 640x480 with 0 Axes>

2.2] Ricerca di una componenti di Random Walk¶

Cerchiamo una componente di Random Walk all'interno delle serie.

La presenza di una componente di Random Walk nella serie è indice del fatto che il mercato non è prevedibile e che quindi il suo andamento può salire o scendere in modo casuale, ovvero assume valori:

  • $+1$ con probabilità $p$
  • $-1$ con probabilità $1-p$

Le componenti di Random Walk vengono ricercate usando due Test di Ipotesi:

  • ADF
  • KPSS

Nel test di KPSS abbiamo:

  • $H_0$ : La serie è stazionaria attorno a una tendenza deterministica (NON ha componente di Random Walk)
  • $H_1$ : La serie non è stazionaria (HA componente di Random Walk)

Nel test di ADF abbiamo:

  • $H_0$ : La serie ha una radice unitaria (HA componente di Random Walk)
  • $H_1$ : La serie non ha una radice unitaria (NON ha componente di Random Walk)

Nel nostro caso vogliamo:

  • KPSS, Rigettare
  • ADF, Accettare
                        KPSS                        
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━┓
┃ Crypto   ┃          StatValue ┃ pValue ┃ Outcome ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━┩
│ ETH-USD  │  4.630432272815153 │   0.01 │ Reject  │
│ BTC-USD  │  4.820559865672976 │   0.01 │ Reject  │
│ DASH-USD │ 2.7531299544913352 │   0.01 │ Reject  │
│ XRP-USD  │  0.918683154822733 │   0.01 │ Reject  │
└──────────┴────────────────────┴────────┴─────────┘
                                ADF                                
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓
┃ Crypto   ┃           StatValue ┃               pValue ┃ Outcome ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩
│ ETH-USD  │ -0.9501313424178289 │   0.7710157360162664 │ Accept  │
│ BTC-USD  │  -0.978510604401754 │   0.7610211585021541 │ Accept  │
│ DASH-USD │ -2.8180938650045064 │   0.0557353087206187 │ Accept  │
│ XRP-USD  │  -3.500868599705032 │ 0.007964814582617451 │ Reject  │
└──────────┴─────────────────────┴──────────────────────┴─────────┘

Dai test condotti si vede che tutte le serie hanno natura di Random Walk, fatta eccezione per l'ultima che non passa il test ADF. Tuttavia, passando il test KPSS ed essendo il valore del pValue abbastanza vicino al limite possiamo concludere che il trend stocastico sia presente anche per la crypto XRP-USD ma che sia un trend debole.

2.3] Differencing della serie storica e analisi del rumore¶

Procediamo lo studio con l'analisi del rumore.

Passiamo al differencing della serie storica, ottenendo $Y_{t+1} - Y_{t} = W_{t}$ e procedendo con un'analisi del termine $W_{t}$.

Il differencing viene fatto sul risultato del passaggio al logaritmo dei valori originari. Siano:

  • Y, valori logaritmici
  • P, valori originari
  • R, rendimento

Fare il differencing dei valori logaritmici ci permette di fare quanto segue:

$Y_{t+1} - Y_{t} = \log(P_{t+1}) - \log(P_t) = \log(\frac{P_{t+1}}{P_{t}}) = \log(R) = W_t$

Ovvero analizzare se il rendimento ha o meno natura di White Noise, controllando:

  • Stazionarietà
  • Eteroschedasticità
  • Autocorrelazione
  • Gaussianità
<Figure size 640x480 with 0 Axes>

2.3.1] Analisi Stazionarietà¶

Per l'analisi di stazionarietà eseguiamo due test:

  • KDSS
  • Adfuller

Nel test di KPSS abbiamo:

  • H0 : La serie è stazionaria attorno a una tendenza deterministica
  • H1 : La serie non è stazionaria

Nel test di Adfuller abbiamo:

  • H0 : La serie ha una radice unitaria
  • H1 : La serie non ha una radice unitaria

Nel nostro caso vogliamo:

  • KPSS, Accettare
  • Adfuller, Rigettare
                        KPSS                         
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━┓
┃ Crypto   ┃           StatValue ┃ pValue ┃ Outcome ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━┩
│ ETH-USD  │ 0.23201574524870314 │    0.1 │ Accept  │
│ BTC-USD  │ 0.15674142996559834 │    0.1 │ Accept  │
│ DASH-USD │ 0.13769918829263092 │    0.1 │ Accept  │
│ XRP-USD  │ 0.19808342863898767 │    0.1 │ Accept  │
└──────────┴─────────────────────┴────────┴─────────┘
                                 ADF                                 
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓
┃ Crypto   ┃           StatValue ┃                 pValue ┃ Outcome ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩
│ ETH-USD  │ -13.748813873133498 │ 1.0600349812346284e-25 │ Reject  │
│ BTC-USD  │ -31.470467916876196 │                    0.0 │ Reject  │
│ DASH-USD │ -21.645263875919735 │                    0.0 │ Reject  │
│ XRP-USD  │  -46.79501030099321 │                    0.0 │ Reject  │
└──────────┴─────────────────────┴────────────────────────┴─────────┘

Dal test di KPSS e dal test ADF, possiamo concludere che il differencing $W_t$ è stazionario

2.3.2] Analisi Eteroschedasticità¶

Per l'analisi di eteroschedasticità eseguiamo i seguenti test:

  • Breusch-Pagan
  • White

Nel test di Breusch-Pagan abbiamo:

  • $H_0$: I residui sono distribuiti con varianza omogenea (La serie è Omoschedastica)
  • $H_1$: I residui NON sono distribuiti con varianza omogenea (La serie NON è omoschedastica)

Nel test di White abbiamo:

  • $H_0$: La varianza dei residui è costante (La serie è Omoschedastica)
  • $H_1$: La varianza dei residui NON è costante (La serie NON è Omoschedastica)

In questo caso vogliamo:

  • Breusch-Pagan, Accettare
  • White, Accettare
ETH-USD
                            OLS Regression Results                            
==============================================================================
Dep. Variable:                      y   R-squared:                       0.000
Model:                            OLS   Adj. R-squared:                 -0.000
Method:                 Least Squares   F-statistic:                    0.5481
Date:                ven, 15 dic 2023   Prob (F-statistic):              0.459
Time:                        08:32:37   Log-Likelihood:                 5049.8
No. Observations:                2069   AIC:                        -1.010e+04
Df Residuals:                    2067   BIC:                        -1.008e+04
Df Model:                           1                                         
Covariance Type:            nonrobust                                         
==============================================================================
                 coef    std err          t      P>|t|      [0.025      0.975]
------------------------------------------------------------------------------
const         -0.0004      0.001     -0.472      0.637      -0.002       0.001
x1          5.746e-07   7.76e-07      0.740      0.459   -9.47e-07     2.1e-06
==============================================================================
Omnibus:                      632.947   Durbin-Watson:                   2.106
Prob(Omnibus):                  0.000   Jarque-Bera (JB):            10358.413
Skew:                          -0.995   Prob(JB):                         0.00
Kurtosis:                      13.779   Cond. No.                     2.39e+03
==============================================================================

Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
[2] The condition number is large, 2.39e+03. This might indicate that there are
strong multicollinearity or other numerical problems.
BTC-USD
                            OLS Regression Results                            
==============================================================================
Dep. Variable:                      y   R-squared:                       0.000
Model:                            OLS   Adj. R-squared:                 -0.000
Method:                 Least Squares   F-statistic:                    0.1443
Date:                ven, 15 dic 2023   Prob (F-statistic):              0.704
Time:                        08:32:37   Log-Likelihood:                 5578.7
No. Observations:                2069   AIC:                        -1.115e+04
Df Residuals:                    2067   BIC:                        -1.114e+04
Df Model:                           1                                         
Covariance Type:            nonrobust                                         
==============================================================================
                 coef    std err          t      P>|t|      [0.025      0.975]
------------------------------------------------------------------------------
const         -0.0001      0.001     -0.143      0.887      -0.002       0.001
x1          2.283e-07   6.01e-07      0.380      0.704    -9.5e-07    1.41e-06
==============================================================================
Omnibus:                      697.962   Durbin-Watson:                   2.089
Prob(Omnibus):                  0.000   Jarque-Bera (JB):            16730.990
Skew:                          -1.029   Prob(JB):                         0.00
Kurtosis:                      16.778   Cond. No.                     2.39e+03
==============================================================================

Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
[2] The condition number is large, 2.39e+03. This might indicate that there are
strong multicollinearity or other numerical problems.
DASH-USD
                            OLS Regression Results                            
==============================================================================
Dep. Variable:                      y   R-squared:                       0.000
Model:                            OLS   Adj. R-squared:                 -0.000
Method:                 Least Squares   F-statistic:                    0.3637
Date:                ven, 15 dic 2023   Prob (F-statistic):              0.547
Time:                        08:32:37   Log-Likelihood:                 4747.7
No. Observations:                2069   AIC:                            -9491.
Df Residuals:                    2067   BIC:                            -9480.
Df Model:                           1                                         
Covariance Type:            nonrobust                                         
==============================================================================
                 coef    std err          t      P>|t|      [0.025      0.975]
------------------------------------------------------------------------------
const         -0.0013      0.001     -1.252      0.211      -0.003       0.001
x1          5.417e-07   8.98e-07      0.603      0.547   -1.22e-06     2.3e-06
==============================================================================
Omnibus:                      376.450   Durbin-Watson:                   2.095
Prob(Omnibus):                  0.000   Jarque-Bera (JB):             8823.543
Skew:                          -0.083   Prob(JB):                         0.00
Kurtosis:                      13.116   Cond. No.                     2.39e+03
==============================================================================

Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
[2] The condition number is large, 2.39e+03. This might indicate that there are
strong multicollinearity or other numerical problems.
XRP-USD
                            OLS Regression Results                            
==============================================================================
Dep. Variable:                      y   R-squared:                       0.001
Model:                            OLS   Adj. R-squared:                  0.000
Method:                 Least Squares   F-statistic:                     1.386
Date:                ven, 15 dic 2023   Prob (F-statistic):              0.239
Time:                        08:32:37   Log-Likelihood:                 4673.8
No. Observations:                2069   AIC:                            -9344.
Df Residuals:                    2067   BIC:                            -9332.
Df Model:                           1                                         
Covariance Type:            nonrobust                                         
==============================================================================
                 coef    std err          t      P>|t|      [0.025      0.975]
------------------------------------------------------------------------------
const         -0.0015      0.001     -1.315      0.189      -0.004       0.001
x1          1.096e-06   9.31e-07      1.177      0.239    -7.3e-07    2.92e-06
==============================================================================
Omnibus:                      510.216   Durbin-Watson:                   2.059
Prob(Omnibus):                  0.000   Jarque-Bera (JB):            22254.586
Skew:                           0.337   Prob(JB):                         0.00
Kurtosis:                      19.053   Cond. No.                     2.39e+03
==============================================================================

Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
[2] The condition number is large, 2.39e+03. This might indicate that there are
strong multicollinearity or other numerical problems.
                           Breusch-Pagan                           
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓
┃ Crypto   ┃          StatValue ┃                pValue ┃ Outcome ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩
│ ETH-USD  │  8.567367566736669 │ 0.0034597918568196914 │ Reject  │
│ BTC-USD  │  7.763759935805086 │  0.005379165131515243 │ Reject  │
│ DASH-USD │  2.276765009171112 │    0.1314783730532143 │ Accept  │
│ XRP-USD  │ 1.2467607341644058 │    0.2643018406639988 │ Accept  │
└──────────┴────────────────────┴───────────────────────┴─────────┘
                              White                               
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓
┃ Crypto   ┃          StatValue ┃               pValue ┃ Outcome ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩
│ ETH-USD  │   5.26508181913567 │ 0.005238555530471663 │ Reject  │
│ BTC-USD  │  4.141400487811925 │ 0.016032762971599328 │ Reject  │
│ DASH-USD │  3.666072606577798 │ 0.025743255972081297 │ Reject  │
│ XRP-USD  │ 0.7598677076192619 │   0.4678589731665155 │ Accept  │
└──────────┴────────────────────┴──────────────────────┴─────────┘

Notiamo che XRP-USD è l'unica delle Crypto per cui il test passa: analizzando il grafico possiamo notare come ci sia una certa costanza nella volatilità della serie, quindi anche graficamente abbiamo una conferma del risultato.

Per le altre crypto invece abbiamo che, trattandosi di serie abbastanza lunghe, è fattibile che la varianza vari.

2.3.3] Analisi Autocorrelazione¶

Per l'Autocorrelazione consideriamo i seguenti test:

  • Ljung-Box

Per il test Ljung-Box:

  • $H_0$: Non c'è autocorrelazione nei dati. In altre parole, i residui sono indipendenti l'uno dall'altro e non mostrano alcuna struttura di autocorrelazione significativa.
  • $H_1$: I residui non sono indipendenti e mostrano una struttura di autocorrelazione significativa.

Vogliamo quindi :

  • Ljung-Box, Accettare
                             Ljung-Box                             
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓
┃ Crypto   ┃          StatValue ┃                pValue ┃ Outcome ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩
│ ETH-USD  │ 31.609722534078987 │ 0.0004650065716092994 │ Reject  │
│ BTC-USD  │ 16.925034452734113 │   0.07603932218108504 │ Accept  │
│ DASH-USD │ 15.716773963771859 │   0.10803220218423684 │ Accept  │
│ XRP-USD  │  7.977674132723926 │     0.631017790629593 │ Accept  │
└──────────┴────────────────────┴───────────────────────┴─────────┘

Tracciamo gli autocorrelogrammi e gli autocorrelogrammi parziali dei dati.

<Figure size 640x480 with 0 Axes>

Il test quindi Accetta per entrambi i casi e i dati non dovrebbero essere autocorrelati. Tuttavia, osservando i grafici relativi al differencing, possiamo notare come vi siano dei cluster di varianza costante, in cui a basse varianze seguono zone di bassa varianza (analogamente per quelle ad alta varianza).

Riassumendo abbiamo:

  • Accettazione del test di Ljung-Box
  • Presenza di clusterizzazione delle varianze

Questo fenomeno potrebbe essere dovuto al fatto che i dati sono molti, e quindi il grande numero di dati potrebbe offuscare l'autocorrelazione portando i dati a tendere al gaussiano.

Ci fa supporre la presenza di punti di rottura nella struttura.

Passiamo quindi, dopo dei veloci test sulla gaussianità, all'analisi delle rotture strutturali.

2.3.4] Analisi Normalità¶

Per l'analisi di normalità eseguiamo i seguenti test:

  • Shapiro-Wilk
  • Kolmogorov-Smirnov

Nel test di Shapiro-Wilk abbiamo:

  • $H_0$: I dati seguono una distribuzione normale
  • $H_1$: I dati NON seguono una distribuzione normale

Nel test di Kolmogorov-Smirnov abbiamo:

  • $H_0$: I dati seguono la distribuzione specificata
  • $H_1$: I dati NON seguono la distribuzione specificata

Nel nostro caso vogliamo:

  • Shapiro-Wilk, Accettare
  • Kolmogorov-Smirnov, Accettare
                            Shapiro-Wilk                            
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓
┃ Crypto   ┃          StatValue ┃                 pValue ┃ Outcome ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩
│ ETH-USD  │ 0.9225029349327087 │  2.243272511905845e-31 │ Reject  │
│ BTC-USD  │ 0.9065624475479126 │  7.687562699532387e-34 │ Reject  │
│ DASH-USD │ 0.9040272235870361 │ 3.3494620980164206e-34 │ Reject  │
│ XRP-USD  │ 0.8357081413269043 │   7.15923385423549e-42 │ Reject  │
└──────────┴────────────────────┴────────────────────────┴─────────┘
                 Kolmogorov-Smirnov                  
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━┓
┃ Crypto   ┃           StatValue ┃ pValue ┃ Outcome ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━┩
│ ETH-USD  │  0.4705378122861261 │    0.0 │ Reject  │
│ BTC-USD  │ 0.47608764853183083 │    0.0 │ Reject  │
│ DASH-USD │ 0.46608875744466827 │    0.0 │ Reject  │
│ XRP-USD  │  0.4642030732172747 │    0.0 │ Reject  │
└──────────┴─────────────────────┴────────┴─────────┘

Notiamo quindi che i due test ci fanno rigettare in entrambi i casi l'ipotesi nulla di normalità dei dati.

2.4] Analisi dei Punti di Rottura nella Struttura¶

Cerchiamo i punti di rottura usando le funzioni di R:

  • breakpoints
  • fstats
  • supMZ
                                         Structural Breakpoints                                          
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓
┃ Crypto   ┃                                             Breakpoint ┃          FStats ┃           SupMZ ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩
│ ETH-USD  │  | 2018-11-06 | 2020-02-06 | 2021-01-02 | 2022-05-10 | │  | 2020-12-29 | │  | 2021-01-04 | │
│ BTC-USD  │               | 2019-05-12 | 2020-12-15 | 2022-05-08 | │  | 2020-11-11 | │  | 2020-11-06 | │
│ DASH-USD │  | 2018-11-06 | 2019-09-22 | 2021-01-09 | 2022-05-04 | │  | 2018-11-07 | │  | 2022-05-12 | │
│ XRP-USD  │  | 2018-11-18 | 2019-09-24 | 2021-02-08 | 2022-04-28 | │  | 2021-02-08 | │  | 2021-02-05 | │
└──────────┴────────────────────────────────────────────────────────┴─────────────────┴─────────────────┘
<Figure size 640x480 with 0 Axes>
<Figure size 640x480 with 0 Axes>

I test rilevano quindi la presenza di punti di rottura.

Notiamo in particolare che test diversi rilevano punti di rottura simili: scegliamo quindi di procedere con un "voto a maggioranza", prendendo il punto di rottura più simile tra i tre test.

3] Divisione del dataset¶

Dividiamo il dataset ristretto per ogni crypto in due parti, training e test set: manteniamo nel training circa il 90% dei dati di ogni strumento.

4] Analisi dei dati ristretti¶

<Figure size 640x480 with 0 Axes>

4.1] Analisi del differencing ridotto¶

Come nel primo caso analizziamo il differencing e vediamo se questo ha natura di white noise.

4.1.1] Analisi Stazionarietà¶

Per l'analisi di stazionarietà eseguiamo due test:

  • KDSS
  • Adfuller

Nel test di KPSS abbiamo:

  • H0 : La serie è stazionaria attorno a una tendenza deterministica
  • H1 : La serie non è stazionaria

Nel test di Adfuller abbiamo:

  • H0 : La serie ha una radice unitaria
  • H1 : La serie non ha una radice unitaria

Nel nostro caso vogliamo:

  • KPSS, Accettare
  • Adfuller, Rigettare
                        KPSS                         
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━┓
┃ Crypto   ┃           StatValue ┃ pValue ┃ Outcome ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━┩
│ ETH-USD  │ 0.30402339982507376 │    0.1 │ Accept  │
│ BTC-USD  │ 0.26793706713609056 │    0.1 │ Accept  │
│ DASH-USD │ 0.14448487432870857 │    0.1 │ Accept  │
│ XRP-USD  │ 0.10857489114721602 │    0.1 │ Accept  │
└──────────┴─────────────────────┴────────┴─────────┘
                                ADF                                 
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓
┃ Crypto   ┃           StatValue ┃                pValue ┃ Outcome ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩
│ ETH-USD  │ -31.463043189797844 │                   0.0 │ Reject  │
│ BTC-USD  │ -30.483765580661746 │                   0.0 │ Reject  │
│ DASH-USD │ -15.051422863190458 │ 9.281783031352217e-28 │ Reject  │
│ XRP-USD  │ -31.024464015415518 │                   0.0 │ Reject  │
└──────────┴─────────────────────┴───────────────────────┴─────────┘
4.1.2] Analisi Eteroschedasticità¶

Per l'analisi di eteroschedasticità eseguiamo i seguenti test:

  • Breusch-Pagan
  • White

Nel test di Breusch-Pagan abbiamo:

  • $H_0$: I residui sono distribuiti con varianza omogenea (La serie è Omoschedastica)
  • $H_1$: I residui NON sono distribuiti con varianza omogenea (La serie NON è omoschedastica)

Nel test di White abbiamo:

  • $H_0$: La varianza dei residui è costante (La serie è Omoschedastica)
  • $H_1$: La varianza dei residui NON è costante (La serie NON è Omoschedastica)

In questo caso vogliamo:

  • Breusch-Pagan, Accettare
  • White, Accettare
                           Breusch-Pagan                           
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓
┃ Crypto   ┃         StatValue ┃                 pValue ┃ Outcome ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩
│ ETH-USD  │ 25.05566267671057 │  6.737702332420841e-07 │ Reject  │
│ BTC-USD  │ 25.84501763683427 │ 4.5114279068198483e-07 │ Reject  │
│ DASH-USD │ 2.495168564366106 │    0.11492299248948996 │ Accept  │
│ XRP-USD  │  34.8344311264828 │  5.204886672228533e-09 │ Reject  │
└──────────┴───────────────────┴────────────────────────┴─────────┘
                              White                               
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓
┃ Crypto   ┃         StatValue ┃                pValue ┃ Outcome ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩
│ ETH-USD  │  13.1651660977433 │  2.32843202022156e-06 │ Reject  │
│ BTC-USD  │ 13.22301453319326 │ 2.193663541133534e-06 │ Reject  │
│ DASH-USD │ 3.299977334208391 │  0.037811687468737934 │ Reject  │
│ XRP-USD  │ 23.00017453495107 │ 1.885248700990853e-10 │ Reject  │
└──────────┴───────────────────┴───────────────────────┴─────────┘
4.1.3] Analisi Autocorrelazione¶

Per l'Autocorrelazione consideriamo i seguenti test:

  • Ljung-Box

Per il test Ljung-Box:

  • $H_0$: Non c'è autocorrelazione nei dati. In altre parole, i residui sono indipendenti l'uno dall'altro e non mostrano alcuna struttura di autocorrelazione significativa.
  • $H_1$: I residui non sono indipendenti e mostrano una struttura di autocorrelazione significativa.

Vogliamo quindi :

  • Ljung-Box, Accettare
                            Ljung-Box                             
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓
┃ Crypto   ┃          StatValue ┃               pValue ┃ Outcome ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩
│ ETH-USD  │  20.74439638246904 │ 0.022948121087501706 │ Reject  │
│ BTC-USD  │ 12.632829754955273 │  0.24493117060834974 │ Accept  │
│ DASH-USD │  9.348220225953458 │  0.49940562393741117 │ Accept  │
│ XRP-USD  │ 16.883011215521183 │  0.07699305871115295 │ Accept  │
└──────────┴────────────────────┴──────────────────────┴─────────┘
<Figure size 640x480 with 0 Axes>

Osserviamo forte correlazione (effetto clustering) e quindi potremmo procedere a modellarli con dei processi GARCH.

4.1.4] Analisi Normalità¶

Per l'analisi di normalità eseguiamo i seguenti test:

  • Shapiro-Wilk
  • Kolmogorov-Smirnov

Nel test di Shapiro-Wilk abbiamo:

  • $H_0$: I dati seguono una distribuzione normale
  • $H_1$: I dati NON seguono una distribuzione normale

Nel test di Kolmogorov-Smirnov abbiamo:

  • $H_0$: I dati seguono la distribuzione specificata
  • $H_1$: I dati NON seguono la distribuzione specificata

Nel nostro caso vogliamo:

  • Shapiro-Wilk, Accettare
  • Kolmogorov-Smirnov, Accettare
                            Shapiro-Wilk                            
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓
┃ Crypto   ┃          StatValue ┃                 pValue ┃ Outcome ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩
│ ETH-USD  │ 0.9502420425415039 │ 1.3270286513620812e-16 │ Reject  │
│ BTC-USD  │ 0.9572618007659912 │  1.919576134737323e-15 │ Reject  │
│ DASH-USD │  0.939193844795227 │ 2.2313227654446877e-12 │ Reject  │
│ XRP-USD  │ 0.8953757286071777 │ 1.7658039207309898e-23 │ Reject  │
└──────────┴────────────────────┴────────────────────────┴─────────┘
                          Kolmogorov-Smirnov                          
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓
┃ Crypto   ┃           StatValue ┃                  pValue ┃ Outcome ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩
│ ETH-USD  │ 0.47223125234355756 │ 1.3485745072511574e-179 │ Reject  │
│ BTC-USD  │  0.4785933494051804 │ 3.9304122976977064e-188 │ Reject  │
│ DASH-USD │  0.4741664051569694 │   9.750037391596386e-91 │ Reject  │
│ XRP-USD  │ 0.46522174716623627 │ 1.8352320088248526e-167 │ Reject  │
└──────────┴─────────────────────┴─────────────────────────┴─────────┘

5] Quadratic autocorrelation¶

Analizziamo l'autocorrelazione dei quadrati: osservando i grafici possiamo infatti notare come a periodi di alta volatilità seguano periodi di alta volatilità e come a periodi di bassa volatilità seguano periodi di bassa volatilità. Questo ci fa supporre la presenza di una autocorrelazione nella serie delle varianze.

Ricordando che:

$D^{2}[X_t] = E[X_t^{2}] + E^{2}[X_t]$

Se la media fosse nulla quindi la varianza dei rendimenti corrisponderebbe con il quadrato dei rendimenti stessi:

$D^{2}[X_t] = E[X_t^{2}]$

                         Zero Mean Test                          
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┓
┃ Crypto   ┃         T-Statistic ┃             P-Value ┃ Result ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━┩
│ ETH-USD  │ 0.33808066325759595 │  0.7353367184851297 │ Accept │
│ BTC-USD  │  0.3725821323911949 │  0.7094976528285228 │ Accept │
│ DASH-USD │  -1.459006273766798 │ 0.14471524793122822 │ Accept │
│ XRP-USD  │ -0.5918757465602607 │  0.5539984936921993 │ Accept │
└──────────┴─────────────────────┴─────────────────────┴────────┘

Per nessuno degli strumenti finanziari possiamo rigettare l'ipotesi nulla di media nulla al 95%.

Procediamo quindi con l'analisi dei rendimenti logaritmici quadrati. Analizziamo l'eventuale presenza di autocorrelazione con il test di Ljung-Box.

                             Ljung-Box                              
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓
┃ Crypto   ┃          StatValue ┃                 pValue ┃ Outcome ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩
│ ETH-USD  │ 107.45662340504884 │ 1.7362744278257656e-18 │ Reject  │
│ BTC-USD  │ 28.435878927917237 │  0.0015366636984585028 │ Reject  │
│ DASH-USD │ 20.296369471575147 │   0.026570915198950266 │ Reject  │
│ XRP-USD  │ 124.35893071112875 │  6.585066550321394e-22 │ Reject  │
└──────────┴────────────────────┴────────────────────────┴─────────┘

Dai risultati si evince che per tutte le monete si può rigettare l'ipotesi nulla di non-autocorrelazione, concludiamo quindi che tutte le monete presentano autocorrelazione.

Procediamo a graficare quindi gli autocorrelogrammi per le varie monete.

<Figure size 640x480 with 0 Axes>

6] Analisi con modello GARCH¶

Essendo presente autocorrelazione nella volatilità dei rendimenti possiamo procedere a modellarla tramite un Generalized ARCH model (GARCH).

Nel modello GARCH ...In practice, only rather rich ARCH parameterizations are able to fit financial series adequately However, largely parameterized models can be unstable in forecasting and a hard to estimate In order to overcome the shortcomings of the ARCH, Tim Bollerslev proposed a generalisation of the ARCH model called GARCH (Bollerslev, 1986) The model allows to fit financial returns adequately while keeping the number of parameters small In practice, the GARCH model is one of the most successfully employed volatility models

(da pag 63 a 110 circa)

ETH-USD
                     Constant Mean - GARCH Model Results                      
==============================================================================
Dep. Variable:                   Diff   R-squared:                       0.000
Mean Model:             Constant Mean   Adj. R-squared:                  0.000
Vol Model:                      GARCH   Log-Likelihood:                2214.67
Distribution:                  Normal   AIC:                          -4421.35
Method:            Maximum Likelihood   BIC:                          -4402.25
                                        No. Observations:                  875
Date:                ven, dic 15 2023   Df Residuals:                      874
Time:                        08:39:00   Df Model:                            1
                                  Mean Model                                 
=============================================================================
                 coef    std err          t      P>|t|       95.0% Conf. Int.
-----------------------------------------------------------------------------
mu         5.1548e-04  5.980e-04      0.862      0.389 [-6.566e-04,1.688e-03]
                              Volatility Model                              
============================================================================
                 coef    std err          t      P>|t|      95.0% Conf. Int.
----------------------------------------------------------------------------
omega      8.7622e-06  3.227e-11  2.715e+05      0.000 [8.762e-06,8.762e-06]
alpha[1]       0.0999  3.855e-02      2.592  9.552e-03   [2.435e-02,  0.175]
beta[1]        0.8801  3.175e-02     27.722 3.824e-169     [  0.818,  0.942]
============================================================================

Covariance estimator: robust
 ***** ESTIMATION WITH ANALYTICAL GRADIENT ***** 


     I     INITIAL X(I)        D(I)

     1     3.927254e-04     1.000e+00
     2     5.000000e-02     1.000e+00
     3     5.000000e-02     1.000e+00

    IT   NF      F         RELDF    PRELDF    RELDX   STPPAR   D*STEP   NPRELDF
     0    1 -2.964e+03
     1    7 -2.964e+03  1.76e-04  2.76e-04  1.6e-04  3.4e+09  1.6e-05  4.66e+05
     2    8 -2.965e+03  1.17e-05  1.29e-05  1.4e-04  2.0e+00  1.6e-05  1.27e+00
     3   15 -2.967e+03  8.08e-04  1.17e-03  2.8e-01  2.0e+00  4.0e-02  1.26e+00
     4   18 -2.975e+03  2.58e-03  7.88e-03  8.4e-01  1.9e+00  6.4e-01  2.74e-01
     5   30 -2.999e+03  8.07e-03  5.29e-02  3.9e-05  4.0e+00  5.4e-05  9.59e-02
     6   36 -3.005e+03  1.98e-03  1.48e-03  9.8e-03  1.8e+00  1.4e-02  1.33e-02
     7   37 -3.005e+03  1.83e-04  2.71e-03  9.9e-03  1.9e+00  1.4e-02  1.23e-02
     8   38 -3.010e+03  1.40e-03  2.52e-03  4.7e-03  1.9e+00  6.8e-03  2.72e-03
     9   41 -3.012e+03  6.81e-04  8.80e-04  5.4e-02  5.2e-01  7.9e-02  1.00e-03
    10   42 -3.014e+03  7.13e-04  1.36e-03  3.5e-02  4.3e-01  7.9e-02  1.44e-03
    11   44 -3.017e+03  1.22e-03  2.02e-03  1.8e-02  1.3e+00  3.1e-02  2.84e-03
    12   45 -3.018e+03  2.68e-04  4.34e-04  2.2e-02  0.0e+00  4.1e-02  4.34e-04
    13   46 -3.019e+03  1.95e-04  3.54e-04  1.9e-02  8.7e-01  4.1e-02  4.53e-04
    14   47 -3.019e+03  8.44e-05  1.20e-04  9.9e-03  0.0e+00  2.1e-02  1.20e-04
    15   48 -3.019e+03  2.03e-05  1.91e-05  5.9e-03  0.0e+00  1.3e-02  1.91e-05
    16   49 -3.019e+03  5.28e-07  6.36e-07  4.6e-04  0.0e+00  8.4e-04  6.36e-07
    17   50 -3.019e+03  2.35e-08  3.30e-08  7.4e-06  0.0e+00  1.8e-05  3.30e-08
    18   51 -3.019e+03  3.44e-09  3.71e-09  9.9e-06  1.5e+00  1.8e-05  4.38e-09
    19   52 -3.019e+03  6.61e-10  5.34e-10  1.4e-05  0.0e+00  2.6e-05  5.34e-10
    20   53 -3.019e+03 -2.56e-11  7.08e-12  1.6e-06  0.0e+00  2.9e-06  7.08e-12

 ***** RELATIVE FUNCTION CONVERGENCE *****

 FUNCTION    -3.019151e+03   RELDX        1.606e-06
 FUNC. EVALS      53         GRAD. EVALS      20
 PRELDF       7.076e-12      NPRELDF      7.076e-12

     I      FINAL X(I)        D(I)          G(I)

     1    1.092235e-05     1.000e+00    -4.028e+01
     2    9.746033e-02     1.000e+00     7.699e-03
     3    8.785455e-01     1.000e+00    -1.044e-03

BTC-USD
                     Constant Mean - GARCH Model Results                      
==============================================================================
Dep. Variable:                   Diff   R-squared:                       0.000
Mean Model:             Constant Mean   Adj. R-squared:                  0.000
Vol Model:                      GARCH   Log-Likelihood:                2457.09
Distribution:                  Normal   AIC:                          -4906.17
Method:            Maximum Likelihood   BIC:                          -4887.00
                                        No. Observations:                  891
Date:                ven, dic 15 2023   Df Residuals:                      890
Time:                        08:39:00   Df Model:                            1
                                  Mean Model                                 
=============================================================================
                 coef    std err          t      P>|t|       95.0% Conf. Int.
-----------------------------------------------------------------------------
mu         1.5056e-04  4.904e-04      0.307      0.759 [-8.106e-04,1.112e-03]
                              Volatility Model                              
============================================================================
                 coef    std err          t      P>|t|      95.0% Conf. Int.
----------------------------------------------------------------------------
omega      5.2742e-06  1.534e-13  3.437e+07      0.000 [5.274e-06,5.274e-06]
alpha[1]       0.0500  8.641e-04     57.854      0.000 [4.830e-02,5.169e-02]
beta[1]        0.9298  5.429e-03    171.285      0.000     [  0.919,  0.940]
============================================================================

Covariance estimator: robust
 ***** ESTIMATION WITH ANALYTICAL GRADIENT ***** 


     I     INITIAL X(I)        D(I)

     1     2.265060e-04     1.000e+00
     2     5.000000e-02     1.000e+00
     3     5.000000e-02     1.000e+00

    IT   NF      F         RELDF    PRELDF    RELDX   STPPAR   D*STEP   NPRELDF
     0    1 -3.251e+03
     1    8 -3.251e+03  2.80e-05  5.41e-05  4.7e-05  8.0e+09  4.7e-06  2.16e+05
     2   16 -3.253e+03  3.53e-04  6.39e-04  2.9e-01  2.0e+00  4.1e-02  4.05e-01
     3   20 -3.263e+03  3.10e-03  9.22e-04  8.6e-01  6.0e-01  6.5e-01  3.78e-03
     4   28 -3.264e+03  3.85e-04  8.48e-04  3.7e-06  1.4e+01  5.2e-06  2.26e+00
     5   29 -3.264e+03  2.18e-06  1.92e-06  3.7e-06  2.0e+00  5.2e-06  4.51e+00
     6   30 -3.264e+03  1.28e-07  1.32e-07  3.7e-06  2.0e+00  5.2e-06  4.63e+00
     7   39 -3.269e+03  1.55e-03  1.37e-03  5.7e-02  2.0e+00  8.5e-02  4.62e+00
     8   41 -3.270e+03  3.03e-04  3.27e-04  1.1e-02  2.0e+00  1.7e-02  5.85e+01
     9   42 -3.271e+03  1.87e-04  3.03e-04  1.1e-02  2.0e+00  1.7e-02  3.44e+01
    10   43 -3.271e+03  7.07e-05  3.45e-04  1.0e-02  2.0e+00  1.7e-02  2.44e+00
    11   45 -3.271e+03  5.88e-05  1.70e-04  3.6e-03  2.0e+00  6.1e-03  1.59e-01
    12   46 -3.271e+03  4.26e-05  6.20e-05  3.6e-03  2.0e+00  6.1e-03  1.74e-02
    13   48 -3.271e+03  2.50e-06  3.71e-06  1.1e-03  2.0e+00  1.9e-03  3.68e-03
    14   54 -3.271e+03  4.76e-07  9.43e-07  5.1e-08  2.1e+01  8.5e-08  2.92e-03
    15   55 -3.271e+03  6.85e-10  1.07e-09  4.8e-08  2.0e+00  8.5e-08  1.85e-03
    16   65 -3.272e+03  1.16e-04  2.87e-04  1.6e-02  1.6e+00  2.9e-02  1.85e-03
    17   67 -3.274e+03  6.03e-04  6.38e-04  1.3e-02  6.0e-01  2.9e-02  2.63e-03
    18   68 -3.275e+03  3.50e-04  4.78e-04  1.4e-02  7.6e-01  2.9e-02  7.41e-04
    19   79 -3.275e+03  7.20e-06  1.72e-05  1.8e-07  2.8e+00  3.2e-07  2.32e-05
    20   80 -3.275e+03  1.31e-06  1.24e-06  1.5e-07  2.0e+00  3.2e-07  2.61e-06
    21   86 -3.275e+03  6.75e-07  7.48e-07  1.8e-04  8.3e-01  3.3e-04  1.33e-06
    22   87 -3.275e+03  2.72e-07  3.09e-07  1.6e-04  0.0e+00  3.9e-04  3.09e-07
    23   88 -3.275e+03  2.36e-09  6.67e-10  3.3e-05  0.0e+00  7.2e-05  6.67e-10
    24   99 -3.275e+03 -2.64e-15  1.40e-16  3.7e-15  9.9e+03  6.7e-15  1.35e-10

 ***** FALSE CONVERGENCE *****

 FUNCTION    -3.274708e+03   RELDX        3.716e-15
 FUNC. EVALS      99         GRAD. EVALS      24
 PRELDF       1.396e-16      NPRELDF      1.353e-10

     I      FINAL X(I)        D(I)          G(I)

     1    8.956549e-06     1.000e+00    -6.835e+01
     2    6.527503e-02     1.000e+00    -3.575e-02
     3    8.997967e-01     1.000e+00     1.025e-02

DASH-USD
                     Constant Mean - GARCH Model Results                      
==============================================================================
Dep. Variable:                   Diff   R-squared:                       0.000
Mean Model:             Constant Mean   Adj. R-squared:                  0.000
Vol Model:                      GARCH   Log-Likelihood:                1111.64
Distribution:                  Normal   AIC:                          -2215.28
Method:            Maximum Likelihood   BIC:                          -2198.96
                                        No. Observations:                  437
Date:                ven, dic 15 2023   Df Residuals:                      436
Time:                        08:39:00   Df Model:                            1
                                  Mean Model                                  
==============================================================================
                  coef    std err          t      P>|t|       95.0% Conf. Int.
------------------------------------------------------------------------------
mu         -6.4232e-04  8.411e-04     -0.764      0.445 [-2.291e-03,1.006e-03]
                              Volatility Model                              
============================================================================
                 coef    std err          t      P>|t|      95.0% Conf. Int.
----------------------------------------------------------------------------
omega      5.7952e-05  1.155e-05      5.017  5.237e-07 [3.531e-05,8.059e-05]
alpha[1]       0.1076  6.875e-02      1.565      0.117  [-2.712e-02,  0.242]
beta[1]        0.7379  7.224e-02     10.215  1.697e-24     [  0.596,  0.880]
============================================================================

Covariance estimator: robust
 ***** ESTIMATION WITH ANALYTICAL GRADIENT ***** 


     I     INITIAL X(I)        D(I)

     1     3.508099e-04     1.000e+00
     2     5.000000e-02     1.000e+00
     3     5.000000e-02     1.000e+00

    IT   NF      F         RELDF    PRELDF    RELDX   STPPAR   D*STEP   NPRELDF
     0    1 -1.499e+03
     1    7 -1.499e+03  7.94e-05  1.32e-04  1.0e-04  2.0e+09  1.0e-05  1.30e+05
     2    8 -1.499e+03  3.23e-06  3.54e-06  9.5e-05  2.0e+00  1.0e-05  8.66e-01
     3   15 -1.501e+03  9.78e-04  1.39e-03  2.9e-01  2.0e+00  4.1e-02  8.63e-01
     4   18 -1.505e+03  2.42e-03  2.42e-03  5.8e-01  1.9e+00  1.6e-01  2.04e-01
     5   19 -1.508e+03  2.14e-03  4.26e-03  4.2e-01  1.3e+00  3.3e-01  1.58e-02
     6   27 -1.508e+03  3.83e-04  8.03e-04  1.1e-05  5.3e+00  1.2e-05  2.13e-03
     7   28 -1.508e+03  3.48e-06  2.55e-06  9.5e-06  2.0e+00  1.2e-05  1.44e-04
     8   35 -1.508e+03  8.90e-05  1.11e-04  2.3e-02  5.2e-01  2.8e-02  1.34e-04
     9   37 -1.509e+03  1.68e-04  1.04e-04  2.8e-02  0.0e+00  3.7e-02  1.04e-04
    10   38 -1.509e+03  1.09e-04  1.02e-04  5.8e-02  0.0e+00  7.1e-02  1.02e-04
    11   39 -1.509e+03  2.89e-06  6.47e-06  4.4e-03  0.0e+00  6.7e-03  6.47e-06
    12   40 -1.509e+03  5.70e-07  4.53e-07  6.0e-04  0.0e+00  7.4e-04  4.53e-07
    13   41 -1.509e+03  7.55e-08  3.13e-09  2.3e-04  0.0e+00  3.2e-04  3.13e-09
    14   42 -1.509e+03 -4.18e-09  4.77e-11  2.0e-05  0.0e+00  3.0e-05  4.77e-11

 ***** RELATIVE FUNCTION CONVERGENCE *****

 FUNCTION    -1.508897e+03   RELDX        1.964e-05
 FUNC. EVALS      42         GRAD. EVALS      14
 PRELDF       4.769e-11      NPRELDF      4.769e-11

     I      FINAL X(I)        D(I)          G(I)

     1    9.604329e-05     1.000e+00     1.344e+01
     2    1.505650e-01     1.000e+00    -3.849e-03
     3    6.041880e-01     1.000e+00     5.082e-03

XRP-USD
                     Constant Mean - GARCH Model Results                      
==============================================================================
Dep. Variable:                   Diff   R-squared:                       0.000
Mean Model:             Constant Mean   Adj. R-squared:                  0.000
Vol Model:                      GARCH   Log-Likelihood:                2047.80
Distribution:                  Normal   AIC:                          -4087.60
Method:            Maximum Likelihood   BIC:                          -4068.65
                                        No. Observations:                  842
Date:                ven, dic 15 2023   Df Residuals:                      841
Time:                        08:39:00   Df Model:                            1
                                  Mean Model                                  
==============================================================================
                  coef    std err          t      P>|t|       95.0% Conf. Int.
------------------------------------------------------------------------------
mu         -4.6731e-04  6.177e-04     -0.757      0.449 [-1.678e-03,7.433e-04]
                              Volatility Model                              
============================================================================
                 coef    std err          t      P>|t|      95.0% Conf. Int.
----------------------------------------------------------------------------
omega      1.5062e-05  1.386e-11  1.087e+06      0.000 [1.506e-05,1.506e-05]
alpha[1]       0.1002  4.460e-02      2.247  2.463e-02   [1.281e-02,  0.188]
beta[1]        0.8785  3.225e-02     27.244 1.942e-163     [  0.815,  0.942]
============================================================================

Covariance estimator: robust
 ***** ESTIMATION WITH ANALYTICAL GRADIENT ***** 


     I     INITIAL X(I)        D(I)

     1     5.269160e-04     1.000e+00
     2     5.000000e-02     1.000e+00
     3     5.000000e-02     1.000e+00

    IT   NF      F         RELDF    PRELDF    RELDX   STPPAR   D*STEP   NPRELDF
     0    1 -2.727e+03
     1    7 -2.728e+03  2.94e-04  4.98e-04  3.0e-04  1.5e+09  3.0e-05  3.84e+05
     2    8 -2.728e+03  8.05e-06  8.84e-06  2.9e-04  2.0e+00  3.0e-05  1.09e+01
     3   15 -2.747e+03  7.08e-03  1.08e-02  5.5e-01  2.0e+00  1.2e-01  1.07e+01
     4   17 -2.763e+03  5.63e-03  5.08e-03  3.0e-01  2.0e+00  1.2e-01  2.49e+00
     5   19 -2.795e+03  1.15e-02  1.13e-02  3.9e-01  2.0e+00  2.4e-01  2.86e+02
     6   21 -2.801e+03  2.26e-03  2.28e-03  5.3e-02  2.0e+00  4.9e-02  5.25e+01
     7   23 -2.817e+03  5.47e-03  9.00e-03  1.8e-01  2.0e+00  2.2e-01  7.28e-01
     8   30 -2.818e+03  3.64e-04  8.98e-04  5.8e-06  1.4e+01  7.7e-06  3.52e-02
     9   31 -2.818e+03  8.77e-06  7.09e-06  5.4e-06  2.0e+00  7.7e-06  4.19e-03
    10   32 -2.818e+03  4.47e-07  3.78e-07  5.4e-06  2.0e+00  7.7e-06  3.84e-03
    11   39 -2.818e+03  9.72e-05  1.83e-04  1.1e-02  1.9e+00  1.6e-02  3.85e-03
    12   41 -2.818e+03  1.72e-04  8.90e-05  1.3e-02  0.0e+00  2.0e-02  8.90e-05
    13   43 -2.820e+03  5.45e-04  5.33e-04  4.7e-02  0.0e+00  7.8e-02  9.20e-04
    14   44 -2.821e+03  2.62e-04  3.21e-04  4.1e-02  6.2e-01  7.8e-02  4.25e-04
    15   45 -2.821e+03  2.78e-05  5.41e-05  1.2e-02  0.0e+00  2.2e-02  5.41e-05
    16   46 -2.821e+03  1.08e-05  1.22e-05  2.1e-03  0.0e+00  3.2e-03  1.22e-05
    17   47 -2.821e+03  7.41e-08  1.61e-07  7.0e-04  0.0e+00  1.2e-03  1.61e-07
    18   48 -2.821e+03  2.95e-08  8.37e-09  2.4e-04  0.0e+00  4.7e-04  8.37e-09
    19   49 -2.821e+03  1.95e-09  1.55e-10  1.6e-05  0.0e+00  2.9e-05  1.55e-10
    20   50 -2.821e+03 -2.17e-09  1.69e-11  6.0e-06  0.0e+00  1.0e-05  1.69e-11

 ***** RELATIVE FUNCTION CONVERGENCE *****

 FUNCTION    -2.820737e+03   RELDX        6.033e-06
 FUNC. EVALS      50         GRAD. EVALS      20
 PRELDF       1.693e-11      NPRELDF      1.693e-11

     I      FINAL X(I)        D(I)          G(I)

     1    2.894236e-05     1.000e+00    -5.379e+01
     2    2.073207e-01     1.000e+00    -1.227e-03
     3    7.706760e-01     1.000e+00    -6.875e-03

Per valutare la bontà del modello procediamo con un analisi sui residui.

Valutiamo:

  1. Stazionarietà
  2. Autocorrelazione
  3. Eteroschedasticità
                        KPSS                         
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━┓
┃ Crypto   ┃           StatValue ┃ pValue ┃ Outcome ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━┩
│ ETH-USD  │ 0.17432400371354975 │    0.1 │ Accept  │
│ BTC-USD  │ 0.19844539579445133 │    0.1 │ Accept  │
│ DASH-USD │ 0.11788575359356059 │    0.1 │ Accept  │
│ XRP-USD  │ 0.10803807541946762 │    0.1 │ Accept  │
└──────────┴─────────────────────┴────────┴─────────┘
                                 ADF                                 
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓
┃ Crypto   ┃           StatValue ┃                 pValue ┃ Outcome ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩
│ ETH-USD  │ -15.693567424856559 │ 1.4241061163949666e-28 │ Reject  │
│ BTC-USD  │ -29.079199700789154 │                    0.0 │ Reject  │
│ DASH-USD │ -20.551692589739947 │                    0.0 │ Reject  │
│ XRP-USD  │ -30.272866468250122 │                    0.0 │ Reject  │
└──────────┴─────────────────────┴────────────────────────┴─────────┘
                            Ljung-Box                            
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓
┃ Crypto   ┃          StatValue ┃              pValue ┃ Outcome ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩
│ ETH-USD  │ 12.429167305858956 │  0.2573598822424017 │ Accept  │
│ BTC-USD  │ 11.049385706036809 │ 0.35368336960583363 │ Accept  │
│ DASH-USD │  7.738434333520586 │  0.6543690599625923 │ Accept  │
│ XRP-USD  │  13.16396100965736 │ 0.21464853827574287 │ Accept  │
└──────────┴────────────────────┴─────────────────────┴─────────┘
                           Breusch-Pagan                           
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓
┃ Crypto   ┃           StatValue ┃               pValue ┃ Outcome ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩
│ ETH-USD  │  3.0552372793185714 │   0.0808291850355068 │ Accept  │
│ BTC-USD  │    4.81037750869296 │ 0.028547494279450508 │ Reject  │
│ DASH-USD │ 0.16268201483311248 │   0.6868977927761047 │ Accept  │
│ XRP-USD  │   6.365618133810369 │ 0.011819036032203746 │ Reject  │
└──────────┴─────────────────────┴──────────────────────┴─────────┘
                              White                               
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓
┃ Crypto   ┃          StatValue ┃               pValue ┃ Outcome ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩
│ ETH-USD  │ 2.1579503833990525 │  0.11617918995361964 │ Accept  │
│ BTC-USD  │ 2.5589215991266947 │  0.07795936137356213 │ Accept  │
│ DASH-USD │  1.432578207289038 │   0.2398217511979006 │ Accept  │
│ XRP-USD  │ 3.4750426643481562 │ 0.031407409545298644 │ Reject  │
└──────────┴────────────────────┴──────────────────────┴─────────┘

Grafichiamo quindi i residui ottenuti.

<Figure size 1600x900 with 0 Axes>
<Figure size 640x480 with 0 Axes>

Per quanto riguarda l'autocorrelazione andiamo a produrre degli autocorrelogrammi.

<Figure size 640x480 with 0 Axes>

6.1] Approccio non parametrico (Tecnica di Bootstrap)¶

Con l'obiettivo di generare delle bande di predizione in cui ci aspettiamo che ricada il nostro testing set andiamo ad applicare la tecnica di Bootstrap. Questa tecnica, che sembra empiricamente funzionare discretamente bene, è molto facile e veloce rispetto ad un tradizionale approccio parametrico ma non dà informazioni complete sul processo generatore della serie dei residui.

Procediamo quindi con i seguenti passi per ogni cryptovaluta:

  1. Fit del modello GARCH(1,1) sul testingSet dei rendimenti
  2. Estrazione dei parametri del modello ($\alpha_0$, $\alpha_1$, $\beta_1$)
  3. Tecnica di Bootstrap:
    • Estrazione di TESTING_SET_LEN samples con rimpiazzamento dai residui del modello
    • Generazione di 10000 traiettorie:
      $\sigma^2_t = \alpha_0 + \alpha_1 X_{t-1}^2 + \beta_1 \sigma_{t-1}^2$
      $X_t = \sigma_t W_t$
      $\forall t = 1,...,testSetLen$
      Dove $\sigma_0, X_0 = lastTrainingSetPoint$
<Figure size 640x480 with 0 Axes>

Partendo dalle traiettorie generate, andiamo a calcolare i quantili empirici per ogni t e costruiamo le nostre bande di predizione al 10% e 90%.

Grafichiamo poi il tutto sui dati di testing effettivi.

<Figure size 640x480 with 0 Axes>
TestingSet captured by interval 
    - Non Parametric Approch    
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┓
┃ Crypto   ┃       % of Points ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━┩
│ ETH-USD  │ 88.65979381443299 │
│ BTC-USD  │ 83.83838383838383 │
│ DASH-USD │ 89.58333333333334 │
│ XRP-USD  │ 83.87096774193549 │
└──────────┴───────────────────┘

6.2] Approccio Parametrico¶

Per l'approccio parametrico abbiamo due ipotesi sulla distribuzione dei residui:

  • Skewed Student, con parametri gradi di libertà e parametro di non centralità
  • Generalized Logistic, con parametro c

Andiamo quindi a vedere quale tra le due, per ogni crypto, cattura meglio i residui del modello GARCH.

Fitting of the distribution ' glogis ' by maximum likelihood 
Parameters : 
          estimate Std. Error
location 0.2373246 0.07869713
scale    0.4808397 0.02403501
shape    0.7640745 0.07817206
Loglikelihood:  -1205.367   AIC:  2416.733   BIC:  2431.053 
Correlation matrix:
           location      scale      shape
location  1.0000000 -0.7311056 -0.9197160
scale    -0.7311056  1.0000000  0.8168397
shape    -0.9197160  0.8168397  1.0000000


Fitting of the distribution ' glogis ' by maximum likelihood 
Parameters : 
          estimate Std. Error
location 0.1258617 0.07432966
scale    0.4894503 0.02264852
shape    0.8525401 0.08241261
Loglikelihood:  -1214.436   AIC:  2434.871   BIC:  2449.245 
Correlation matrix:
           location      scale      shape
location  1.0000000 -0.7031609 -0.9171679
scale    -0.7031609  1.0000000  0.7845441
shape    -0.9171679  0.7845441  1.0000000


Fitting of the distribution ' glogis ' by maximum likelihood 
Parameters : 
          estimate Std. Error
location 0.3405337 0.09214524
scale    0.4175216 0.03129869
shape    0.6042603 0.08251379
Loglikelihood:  -587.6249   AIC:  1181.25   BIC:  1193.483 
Correlation matrix:
           location      scale      shape
location  1.0000000 -0.7094888 -0.8929235
scale    -0.7094888  1.0000000  0.8324533
shape    -0.8929235  0.8324533  1.0000000


Fitting of the distribution ' glogis ' by maximum likelihood 
Parameters : 
          estimate Std. Error
location 0.1149359 0.07446256
scale    0.4703253 0.02276311
shape    0.8395420 0.08446866
Loglikelihood:  -1121.73   AIC:  2249.46   BIC:  2263.663 
Correlation matrix:
           location      scale      shape
location  1.0000000 -0.7149008 -0.9187227
scale    -0.7149008  1.0000000  0.7939701
shape    -0.9187227  0.7939701  1.0000000


                          Skewed T Student Params                           
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓
┃ Crypto   ┃              Gamma ┃ Degrees of Freedom ┃       LogLikelihood ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩
│ ETH-USD  │ 0.9961805558210391 │ 12.617826504768184 │ -1226.5081278296686 │
│ BTC-USD  │ 1.0004281502618975 │ 10.036165019890273 │   -1241.47055553863 │
│ DASH-USD │ 0.9498033896551081 │ 11.377839649194549 │  -604.3128486146462 │
│ XRP-USD  │  0.986647096448716 │  8.862553811211907 │  -1154.180073589016 │
└──────────┴────────────────────┴────────────────────┴─────────────────────┘
                                    Generalized Logistic Params                                    
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓
┃ Crypto   ┃            Location ┃               Scale ┃              Shape ┃       LogLikelihood ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩
│ ETH-USD  │ 0.23732458830417807 │ 0.48083967720439225 │ 0.7640744756521249 │ -1205.3666488127258 │
│ BTC-USD  │   0.125861732368985 │  0.4894503257669105 │ 0.8525401171276977 │  -1214.435506980533 │
│ DASH-USD │  0.3405336970501534 │ 0.41752163539790144 │ 0.6042602656979353 │  -587.6248517903006 │
│ XRP-USD  │  0.1149358907546211 │  0.4703252736043755 │ 0.8395420047125439 │ -1121.7298065866314 │
└──────────┴─────────────────────┴─────────────────────┴────────────────────┴─────────────────────┘
<Figure size 640x480 with 0 Axes>

Per decidere la distribuzione più adatta ricordiamo che la minimizzazione della Negative Log-Likelihood è un problema proxy per il problema di massimizzazione della Maximum Likelihood". Procediamo quindi a selezionare la distribuzione che restituisce il valore minimo di Negative Log-Likelihood".

                                  Best Guessed Distribution for crypto                                  
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓
┃ Crypto   ┃ Skewed Student Log-Likelihood ┃ Generalized Logistic Log-Likelihood ┃ Chosen Distribution ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩
│ ETH-USD  │           -1226.5081278296686 │                 -1205.3666488127258 │      Skewed Student │
│ BTC-USD  │             -1241.47055553863 │                  -1214.435506980533 │      Skewed Student │
│ DASH-USD │            -604.3128486146462 │                  -587.6248517903006 │      Skewed Student │
│ XRP-USD  │            -1154.180073589016 │                 -1121.7298065866314 │      Skewed Student │
└──────────┴───────────────────────────────┴─────────────────────────────────────┴─────────────────────┘
<Figure size 640x480 with 0 Axes>
<Figure size 640x480 with 0 Axes>
TestingSet captured by interval 
      - Parametric Approch      
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┓
┃ Crypto   ┃       % of Points ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━┩
│ ETH-USD  │ 94.84536082474226 │
│ BTC-USD  │ 96.96969696969697 │
│ DASH-USD │ 91.66666666666666 │
│ XRP-USD  │ 89.24731182795699 │
└──────────┴───────────────────┘
        TestingSet captured by interval - Comparison        
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Crypto   ┃ % of Points - Param ┃ % of Points - Non Param ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ ETH-USD  │   94.84536082474226 │       88.65979381443299 │
│ BTC-USD  │   96.96969696969697 │       83.83838383838383 │
│ DASH-USD │   91.66666666666666 │       89.58333333333334 │
│ XRP-USD  │   89.24731182795699 │       83.87096774193549 │
└──────────┴─────────────────────┴─────────────────────────┘

6.3] Metriche di Accuratezza¶

Per valutare il modello usato, consideriamo le seguenti metriche di accuratezza:

  • Scale-Dependent Metrics
    $ \text{MAE} = \frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y}_i| $
    $ \text{MSE} = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 $

  • Percentage Error Metrics
    $ \text{MAPE} = \frac{100}{n} \sum_{i=1}^{n} |\frac{y_i - \hat{y}_i}{y_i}|$

  • Relative Error Metrics
    $ \text{SMAPE} = \frac{100}{n} \sum_{i=1}^{n} \frac{|y_i - \hat{y}_i|}{|y_i| + |\hat{y}_i|}$

  • Scale Free Metrics
    $ \text{MASE} = \frac{MAE}{\frac{1}{m-1} \sum_{j=2}^{m} |y_j - y_{j-1}|} $
    $ \text{RMSSE} = \sqrt{\frac{MSE}{\frac{1}{m-1} \sum_{j=2}^{m} (y_j - y_{j-1})^2}} $

                  Scale dependent Metrics                   
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Crypto   ┃                  MAE ┃                    MSE ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
│ ETH-USD  │  0.00605913411906655 │ 1.1335729879028284e-05 │
│ BTC-USD  │ 0.005565580226800619 │ 1.1263728833872771e-05 │
│ DASH-USD │  0.00852983622946913 │  9.119249543563399e-06 │
│ XRP-USD  │   0.0116141761479351 │ 1.7354338125973855e-05 │
└──────────┴──────────────────────┴────────────────────────┘
    Percentage Error Metrics     
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┓
┃ Crypto   ┃               MAPE ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━┩
│ ETH-USD  │ 102.67357145485936 │
│ BTC-USD  │ 125.89945595821976 │
│ DASH-USD │ 128.91638962407984 │
│ XRP-USD  │ 103.44857206123646 │
└──────────┴────────────────────┘
     Relative Error Metrics     
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┓
┃ Crypto   ┃             SMAPE ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━┩
│ ETH-USD  │ 90.28758325752395 │
│ BTC-USD  │ 87.64969348324959 │
│ DASH-USD │ 83.99591263695348 │
│ XRP-USD  │  86.6395388373823 │
└──────────┴───────────────────┘
                  Scale Free Error Metrics                   
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Crypto   ┃                   MASE ┃                 RMSSE ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━┩
│ ETH-USD  │ 1.1335729879028284e-05 │ 3.325359611065821e-06 │
│ BTC-USD  │ 1.1263728833872771e-05 │ 4.494559803317425e-06 │
│ DASH-USD │  9.119249543563399e-06 │ 1.991955279613228e-06 │
│ XRP-USD  │ 1.7354338125973855e-05 │ 4.057207888251033e-06 │
└──────────┴────────────────────────┴───────────────────────┘